var ipUtils = module.exports = {};

randomByte = function () {
    return Math.round(Math.random() * 256);
};

var isPrivate = function (ip) {
    return /^10\.|^192\.168\.|^172\.16\.|^172\.17\.|^172\.18\.|^172\.19\.|^172\.20\.|^172\.21\.|^172\.22\.|^172\.23\.|^172\.24\.|^172\.25\.|^172\.26\.|^172\.27\.|^172\.28\.|^172\.29\.|^172\.30\.|^172\.31\./.test(ip);
};


var privateIps = [
    '10.0.0.0',
    '10.255.255.255',
    '172.16.0.0',
    '172.31.255.255',
    '192.168.0.0',
    '192.168.255.255'
];

var publicIps = [
    '0.0.0.0',
    '255.255.255.255'
];

ipUtils.randomIp = function () {
    var ip = randomByte() + '.' + randomByte() + '.' + randomByte() + '.' + randomByte();
    if (isPrivate(ip)) return randomIp();
    return ip;
};
